Method and device providing enhanced characters

ABSTRACT

A method of providing enhanced characters suitable for display on substantially low-resolution displays includes scaling-down a first representation of at least one character belonging to a given font according to a predetermined factor. A second representation of the at least one character results. The first representation is a monochrome pixel representation and the second representation is a sub-pixel representation. The second representation is converted to a color display representation according to a set of predetermined criteria.

RELATED APPLICATIONS

This application is a continuation of International Application No.PCT/EP02/11028, filed on Oct. 2, 2002, which claims the benefit of U.S.Provisional Application No. 60/330,949, filed Nov. 5, 2001, the entirecontents of which are each incorporated here by reference.

BACKGROUND

The present invention relates to a method of providing enhancedcharacters better suited for being displayed on substantiallylow-resolution displays/screens.

The present invention also relates to a device providing enhancedcharacters better suited for being displayed on substantiallylow-resolution displays/screens.

Additionally, the invention relates to a method of displaying enhancedcharacters in a portable device comprising a memory and a display, usingrelatively little real-time memory and relatively little real-timeprocessing power, and a portable device for displaying enhancedcharacters in a portable device, comprising a memory and a display,using relatively little real-time memory and relatively little real-timeprocessing power.

When displaying characters on certain types of displays/screens, thetypeface designer is typically severely limited by the low number ofdisplay pixels available, thereby making the displayed characters appearvery simple or jagged. This is especially true for low-resolutiondisplays such as those used in mobile terminals/phones, PDAs, etc.

One technique of improving a perceived smoothness of displayedcharacters on a display/screen is the well-known technique ofanti-aliasing, using shades of grey where font designers would like toshow only ‘part’ of a pixel. The perceived smoothness of displayedcharacters is obtained by the fact that a viewer's eyes will tend toaverage two adjacent grey pixels to see one in the ‘middle’, i.e. thetwo adjacent pixels are perceived as a single pixel located and with acolor intensity/grey-level in the middle of the two adjacent pixels.However, anti-aliasing has the side effects, especially for smalltypes/characters, that the characters become blurred and the readabilityis greatly reduced.

Another technique of improving the display of characters is thewell-known technique of using sub-pixel rendering. Sub-pixels are anumber of smaller pixels making up a single ordinary pixel, where eachsub-pixel is associated with one of the three primary colors (red, greenor blue). The human eye is not capable of registering closely spacedcolors individually, since the vision system deliberately mixes thesethree primary colors in combination to form intermediates dependent onthe intensity of each of the three primary colors.

Sub-pixel rendering only works with full effect on color displays wherethe red, green, blue components are made up of ‘sub-pixels’, i.e.colored strips, like an LCD display, etc. The ordering of the sub-pixelsis typically red-green-blue although some are blue-green-red. However,fonts using sub-pixels shown on other types of displays like CRTs,grey-scale LCD displays, etc. will also be better perceived due to theinherent well-known anti-aliasing effect of sub-pixels.

An LCD screen with a given horizontal pixel resolution (e.g. 800 pixels)actually has a horizontal sub-pixel resolution three times greater (e.g.2400 single color sub-pixels) when using sub-pixels. Sub-pixels may thenbe used to smooth jagged contours, lines, etc. by using the knowledge ofthe given ordering of the primary color and the corresponding sub-pixelsand by ‘borrowing’ sub-pixels from adjacent whole pixels, therebyenabling fine-tuning of placement, width, etc. of a contour, character,etc. with a three times greater horizontal accuracy. However, the pixelsalong a contour would be non-white (due to the use of sub-pixels), butthe human eyes would still perceive them as absolutely white, since thecolor of the sub-pixel is immediately adjacent to the other primarycolors (e.g. red is adjacent to green and blue).

See e.g. http://grc.com/ctwhat.htm as pr. 2/11-2001 for further detailsregarding anti-aliasing and sub-pixel rendering.

However, both of the above techniques typically rely on the fact thatthe typeface is described by curve definitions, outlined fonts, etc.which requires a relative large amount of memory for storage.Additionally, the processing power required to render them (i.e.calculate what pixels to color) in real-time is quite substantial, whichalso requires a relatively great power consumption of a deviceperforming the technique(s).

SUMMARY

An object of the invention is to provide a method that provides enhancedcharacters better suited for display on relatively low resolutiondisplays.

Another object is to provide a method with a simple rendering procedureof characters/fonts, thereby enabling real-time rendering.

An additional object is to provide a method of providing charactersusing relatively little memory for storage.

Yet another object is to provide a method of providing characters usinga relatively small amount of processing power (and small amount of powerconsumption in a device/system/apparatus implementing the method).

These objects, among others, are achieved by a method of theaforementioned kind, said method comprising the steps of:

-   -   scaling-down a first representation of at least one character        belonging to a given font according to a predetermined factor        resulting in a second representation of the at least one        character, where the first representation is a monochrome pixel        representation and the second representation is a sub-pixel        representation,    -   converting the second representation to a color display        representation according to a set of predetermined criteria.

Hereby, a method is provided that provides a display representation of acharacter/font enabling better appearance on a display on the basis of asimple monochrome pixel representation, i.e. a first representation.

Additionally, only a relatively small amount of memory is required forstorage while achieving better appearance on a substantiallylow-resolution display, since no extra memory is required for thestoring of the sub-pixel font/character(s), i.e. the secondrepresentation, but only memory for the storing of the monochrome pixelrepresentation although using the sub-pixel representation to obtainbetter appearance.

Additionally, a relatively simple character/font rendering procedure isobtained, thereby enabling real-time rendering of characters/fonts sinceonly scale-down of a monochrome pixel representation and simpleconversion of the scaled down representation are involved. The simpleprocedure also enables a relatively low power consumption since lesscomputational effort is needed.

The method is especially advantageous when displaying relatively smallfonts/characters (e.g. smaller than 15 pixels in height) on relativelylow-resolution displays.

Preferably, the predetermined factor of scaling-down is three, i.e. theresolution of the first representation is three times greater than theresolution of the second representation. In this way, a very simplescale-down step may be obtained since only whole pixels/sub-pixels needto be considered, due to the fact that typically three sub-pixels existfor each pixel in a sub-pixel representation. Actually, only thehorizontal resolution needs to be three times greater in order to arriveat whole pixels/sub-pixels, but both resolutions must be three timesgreater for preserving the aspect ratio of the first representation,while only using whole pixels/sub-pixels.

Alternatively, the scale-down step involves criteria for handlingfractions of pixels for other predetermined factors.

In one embodiment,

-   -   the first representation comprises a number of monochrome pixels        defining the at least one character,    -   the second representation comprises a number of parts each        comprising a number of sub-pixels, and/or    -   the display representation comprises a number of pixels where        each pixel corresponds to a part of the second representation.

In a preferred embodiment, the first representation is substantiallycomprised of 3×3 pixel blocks where either none, 1×3, 2×3 or 3×3

pixels is ‘on’, ‘black’, etc. The opposite of ‘on’ is ‘off’, ‘white’,etc.

Hereby, the step of scaling-down is greatly simplified, since 1×3 pixelsbeing ‘on’ is scaled to 1 sub-pixel being ‘on’ in the corresponding partof the second representation, 2×3 (or twice 1×3) pixels is scaled to twosub-pixels, 3×3 pixels is scaled to three sub-pixels and no pixels isscaled to no sub-pixels being ‘on’.

In an embodiment, the step of converting comprises

-   -   processing of the second representation resulting in an        intermediate sub-pixel representation given by: for a number of        sub-pixels in the second representation, if a given sub-pixel is        ‘on’, then the intensity of the given sub-pixel is allocated a        third of its current intensity and the immediately adjacent        neighbors of the given sub-pixel in the horizontal direction is        each also allocated a third of the current intensity of the        given sub-pixel in the intermediate sub-pixel representation,        and    -   converting at least a part of the intermediate sub-pixel        representation, the part comprising three associated sub-pixels        each representing a different color, to a resulting pixel in the        display representation, where the color of the resulting pixel        is a weight of the intensities for each associated sub-pixel and        the color that each sub-pixel represents.

Note that a given sub-pixel's current intensity may already be changeddue to the processing of a neighbor sub-pixel, as will be describedlater in greater detail.

Since the neighbors of a sub-pixel to the left and to the right arealways its two complementary colors, this energy sharing/division hasthe effect of instantly rebalancing any local discoloration.

In a preferred embodiment, the step of converting comprises performingthe step of processing twice using the output of the step performedfirst as input for the step performed next, resulting in an intermediatesub-pixel representation being used in the step of converting.

This avoids/reduces blurring due to the energy filtering, by firstdividing the energy/intensity of every sub-pixel, like explained above,resulting in sub-pixels with a different intensity, and secondlydividing the energy of the sub-pixels by the different intensity. Thisreduces the energy of the immediate neighbor sub-pixels by distributingsome of the intensity/energy to the next closest pair of neighbors.

In this way, a perfect local color balance is maintained while keepingthe most of the energy in the centre of the spread. The differentenergy/intensity of the pixels in the display representation will resultin a color font that will appear monochrome on a grey-level/scaledisplay while appearing to be high resolution in the eye of a viewer.

In one embodiment, the set of predetermined criteria comprises:

-   -   if zero or 1 sub-pixel from a given part of the second        representation is ‘on’, then the corresponding pixel of the        display representation is set to ‘off’, and    -   if two or three sub-pixels from a given part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to ‘on’, or    -   if zero or 1 sub-pixel from a given part of the second        representation is ‘on’ then the corresponding pixel of the        display representation is set to ‘off’,    -   if two or three adjacent sub-pixels from a given part of the        second representation are ‘on’, then the corresponding pixel of        the display representation is set to be ‘on’, and    -   if two non-adjacent sub-pixels from a given part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to ‘off’

Hereby, a very simple conversion of a sub-pixel representation to adisplay representation, suitable for being shown on a relativelylow-resolution display, is obtained, enabling real-time rendering.

In another embodiment, the step of converting comprises grey-scaleanti-aliasing, thereby reducing the perceived jaggedness of a displayedcharacter and/or font further.

In a preferred embodiment, the anti-aliasing is done as follows:

-   -   if one sub-pixel from a given part of the second representation        is ‘on’, then the corresponding pixel of the display        representation is set to ‘off’,    -   if two adjacent sub-pixels from a given part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to a predetermined level/shade of        ‘grey’,    -   if three sub-pixels from a given part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to ‘on’.

In a preferred embodiment, the anti-aliasing is as follows:

-   -   if one sub-pixel from a given pixel/part of the second        representation is ‘on’, then the corresponding pixel of the        display representation is set to a predetermined level/shade of        ‘light grey’,    -   if two sub-pixels from a given pixel/part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to a predetermined level/shade of        ‘dark grey’, and    -   if three sub-pixels from a given pixel/part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to ‘on’.

In this way, simple and efficient anti-aliasing is obtained at the sametime as the second representation is converted to the displayrepresentation.

In one embodiment, the method further comprises the step of displayingthe display representation on an LCD display.

In a preferred embodiment, the method is used in a mobile communicationdevice such as a mobile telephone, PDA, smart-phone, etc.

In an alternative embodiment, the method further comprises the steps of:

-   -   retrieving a display representation of at least one character        belonging to a given font from a memory of a portable device        further comprising a display, the display representation        comprising a number of pixels defining the at least one        character where each pixel comprises color information,    -   displaying the character representation on the display,        where the character representation is a pre-generated color        display representation stored in the memory of the device and        being generated and/or processed by another device/system        according to the above mentioned embodiments of the method.

In this way, advanced and/or complex rendering/transformation proceduresmay be applied once and for all in a single device/system, and theresulting character representation may then be distributed to manydisplay devices so that these devices do not have to apply the renderingprocedures at the actual time of rendering. Since the advanced and/orcomplex rendering procedures take place outside the display device thatactually displays the character(s)/font(s), it may consume any amount ofresources including time, memory and/or processing power.

Additionally, a typical rendering engine designed for handlingmonochrome/grey-level fonts/characters in a device that displays thetransformed character(s)/font(s) does not have to be changed toaccommodate the transformation and advanced/complex renderingprocedures, e.g. including color information, thereby enabling simplerendering engines in the display devices.

This also holds for simpler rendering/transformation procedures with thesame advantages but to a smaller extent.

Additionally, a method is provided that avoids the need for implementingsub-pixel procedures as part of the rendering engine/stage whendisplaying information on a screen/display, thereby making the renderingstage/engine simpler and avoiding the use of resources in the form ofmemory and processing power.

Further the result of complex rendering and/or sub-pixel procedures in asimple rendering engine/stage to be run on a relative simple processorwith a relatively small amount of available memory is obtained.

The invention also relates to a device for providing enhanced charactersbetter suited for being displayed on substantially low-resolutiondisplays comprising:

-   -   means for scaling-down a first representation of at least one        character belonging to a given font according to a predetermined        factor, resulting in a second representation of the at least one        character, where the first representation is a monochrome pixel        representation and the second representation is a sub-pixel        representation,    -   means for converting the second representation to a color        display representation according to a set of predetermined        criteria.

In one embodiment of the device,

-   -   the first representation comprises a number of monochrome pixels        defining the at least one character,    -   the second representation comprises a number of parts each        comprising a number of associated sub-pixels, and/or    -   the display representation comprises a number of pixels where        each pixel corresponds to a part of the second representation.

In one embodiment of the device, the first representation issubstantially comprised of 3×3 pixel blocks where either none, 1×3, 2×3or 3×3 pixels is ‘on’.

In one embodiment of the device, the means for converting is adapted to

-   -   process the second representation resulting in an intermediate        sub-pixel representation given by: for a number of sub-pixels in        the second representation, if a given sub-pixel is ‘on’, then        the intensity of the given sub-pixel is allocated a third of its        current intensity and the immediately adjacent neighbors of the        given sub-pixel in the horizontal direction is each also        allocated a third of the current intensity of the given        sub-pixel in the intermediate sub-pixel representation, and    -   convert at least a part of the intermediate sub-pixel        representation, the part comprising three associated sub-pixels        each representing a different color, to a resulting pixel in the        display representation, where the color of the resulting pixel        is a weight of the intensities for each associated sub-pixel and        the color that each sub-pixel represents.

In one embodiment of the device, the set of predetermined criteriacomprises performing the step of processing twice using the output ofthe step performed first as input for the step performed next, resultingin an intermediate sub-pixel representation being used in the step ofconverting.

In one embodiment of the device, the set of predetermined criteriacomprises:

-   -   if zero or 1 sub-pixel from a given part of the second        representation is ‘on’, then the corresponding pixel of the        display representation is set to ‘off’, and    -   if two or three sub-pixels from a given part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to ‘on’,        or    -   if zero or 1 sub-pixel from a given part of the second        representation is ‘on’, then the corresponding pixel of the        display representation is set to ‘off’,    -   if two or three adjacent sub-pixels from a given part of the        second representation are ‘on’, then the corresponding pixel of        the display representation is set to be ‘on’, and    -   if two non-adjacent sub-pixels from a given part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to ‘off’.

In one embodiment of the device, the means for converting comprisesmeans for applying grey-scale anti-aliasing.

In one embodiment of the device, the means for applying anti-aliasing isarranged such that:

-   -   if one sub-pixel from a given part of the second representation        is ‘on’, then the corresponding pixel of the display        representation is set to ‘off’,    -   if two adjacent sub-pixels from a given part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to a predetermined level/shade of        ‘grey’,    -   if three sub-pixels from a given part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to ‘on’,        or according to:    -   if one sub-pixel from a given pixel/part of the second        representation is ‘on’, then the corresponding pixel of the        display representation is set to a predetermined level/shade of        ‘light grey’,    -   if two sub-pixels from a given pixel/part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to a predetermined level/shade of        ‘dark grey’, and    -   if three sub-pixels from a given pixel/part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to ‘on’.

In one embodiment of the device, the device further comprises an LCDdisplay for displaying the display representation.

In one embodiment of the device, the device is a mobile communicationdevice such as a mobile telephone, PDA, smart-phone, etc.

In one embodiment of the device, the device further comprises meansadapted to:

-   -   retrieve a display representation of at least one character        belonging to a given font from a memory of a portable device        further comprising a display, the display representation        comprising a number of pixels defining the at least one        character where each pixel comprises color information,    -   display the character representation on the display, where the        character representation is a pre-generated color display        representation stored in the memory of the device and being        generated and/or processed by another device/system according to        the previous mentioned embodiments of the method according to        the present invention.

The device and embodiments thereof have the same advantages for the samereasons as the method and embodiments thereof, and therefore they willnot be described again.

An additional aspect of the invention is to provide a method that avoidsthe need for implementing sub-pixel procedures as part of the renderingengine/stage when displaying information on a screen/display, therebymaking the rendering stage/engine simpler and avoiding the use ofresources in the form of memory and processing power.

Another additional aspect is to enable the result of complex renderingand/or sub-pixel procedures in a simple rendering engine/stage to be runon a relative simple processor with a relatively small amount ofavailable memory.

This is achieved by a method of displaying enhanced characters in aportable device comprising a memory and a display, using relativelylittle real-time memory and relatively little real-time processingpower, said method comprising the steps of:

-   -   retrieving a character bitmap representation of at least one        character belonging to a given font from the memory, the        character representation comprising a number of pixels defining        the at least one character, where each pixel comprises color        information,    -   displaying the character representation on the display,        where the character representation is a pre-generated color        representation stored in the memory of the device and being        generated and/or processed by another device/system.

In this way, advanced and/or complex rendering/transformation proceduresmay be applied once and for all in a single device/system, and theresulting character representation may then be distributed to manydisplay devices so that these devices do not have to apply the renderingprocedures at the actual time of rendering. Since the advanced and/orcomplex rendering procedures take place outside the display device thatactually displays the character(s)/font(s), it may consume any amount ofresources including time, memory and/or processing power.

Additionally, a typical rendering engine designed for handlingmonochrome/grey-level fonts/characters in a device that displays thetransformed character(s)/font(s) does not have to be changed toaccommodate the transformation and advanced/complex renderingprocedures, e.g. including color information, thereby enabling simplerendering engines in the display devices.

In one embodiment, the character representation is a sub-pixel colorrepresentation.

In another embodiment, the character representation comprisesanti-aliasing information.

The invention also relates to a portable device for displaying enhancedcharacters, comprising a memory and a display, using relatively littlereal-time memory and relatively little real-time processing power, wherethe device comprises means for:

-   -   retrieving a character bitmap representation of at least one        character belonging to a given font from the memory, the        character representation comprising a number of pixels defining        the at least one character, where each pixel comprises color        information, and    -   displaying the character representation on the display,        where the character representation is a pre-generated color        representation stored in the memory of the device and being        generated and/or processed by another device/system.

In one embodiment of the device, the character representation is asub-pixel color representation.

In one embodiment of the device, the character representation comprisesanti-aliasing information.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will now be described more fully with reference tothe drawings, in which

FIG. 1 illustrates a flow-chart of an embodiment of the invention;

FIG. 2 a shows a regular monochrome pixel/bitmapped character;

FIG. 2 b illustrates the scaling and conversion according to the presentinvention;

FIG. 2 c illustrates anti-aliasing according to the present invention;

FIG. 2 d shows a schematic representation of a distribution/doublefiltering process of the intensity/energy of a sub-pixel according to apreferred embodiment;

FIG. 2 e shows an enlarged version of the display representation shownin FIG. 2 b;

FIG. 3 illustrates a schematic block diagram of an embodiment of adevice according to the present invention;

FIG. 4 shows a preferred embodiment of the invention, which may containthe device and/or use the method according to the present invention; and

FIG. 5 shows another aspect of the present invention.

DETAILED DESCRIPTION

FIG. 1 illustrates a flow-chart of an embodiment of the invention. Afirst representation of at least one character/font is scaled-down atstep (101) according to a predetermined factor, resulting in a secondrepresentation of the at least one character/font. The character/font inthe second representation is then converted at step (102) into a displayrepresentation according to a set of predetermined criteria. Thecharacter/font in the display representation is then shown on a displayat step (103).

In one embodiment, grey-scale anti-aliasing is used (not shown) as wellin the conversion from the second representation to the displayrepresentation.

The method and embodiments thereof will be explained in greater detailin connection with FIGS. 2 a-2 c, using the character ‘S’ as an example.

FIG. 2 a shows a regular monochrome pixel/bitmapped character. Shown isan example of a regular bitmapped character with a size of 7×11 pixelsdefining/representing the letter ‘S’. This character would appear veryjagged and simple when being displayed on a display with a relativelylow resolution e.g. like the ones typically found in PDAs, mobilecommunication devices such as a mobile telephone, smart-phone, etc.

FIG. 2 b illustrates the steps of scaling and conversion according tothe present invention. Shown are the scaling and conversion stepsperformed on the letter ‘S’. Shown is a 21×33 pixel monochrome bitmappedrepresentation/a first representation of the letter ‘S’ (201). Everypixel being ‘on’, ‘black’, etc. is only shown for certain parts of the‘S’ (201) (at the top right), while only blocks of 9 pixels (3×3) orparts/segments thereof (1×3; 2×3) being ‘on’, ‘black’, etc. are shownelsewhere for the sake of simplicity.

Preferably, the first representation only comprises blocks of (1×3),(2×3) and (3×3) pixels being ‘on’, ‘black’, etc., as this simplifies thescaling-down step considerably.

Alternatively, other blocks of pixels may be used to define the givencharacter.

The ‘S’ (201) is scaled down to a sub-pixel version of the ‘S’ (202)according to a predetermined factor. In this particular example, by afactor of 3 thereby giving the sub-pixel version (202) a size of 7×11pixels, where each pixel consists of three sub-pixels.

In this particular example/embodiment, the scaling-down may be donequite simply by considering each block of 9 (3×3) pixels, and for eachblock determining whether a (1×3), (2×3) and (3×3) segment/part (ornone) is ‘on’ in the given block and where. A (1×3) segment has threepossible locations, a (2×3) segment two and a (3×3) segment only onelocation in a block of (3×3) pixels. After determining the given segmentbeing ‘on’ (if any) and the location in a given block, a correspondingsub-pixel is generated in the second representation (202). That is an‘on’ (1×3) segment becomes a single ‘on’ sub-pixel at the same locationin the corresponding pixel as the (1×3) segment has in the correspondingblock, an ‘on’ (2×3) segment becomes two ‘on’ sub-pixels at the samelocation in the pixel as the segment has in the block and a ‘on’ (3×3)segment becomes an ‘on’ pixel (all three sub-pixels are ‘on’). An ‘off’,white, etc. (3×3) segment becomes an ‘off’ pixel (all three sub-pixelsare ‘off’). A 3×3 block, in the first representation (201), may e.g.comprise two 1×3 ‘on’ segments located at each end (left/beginning andright/end) of the respective 3×3 block, whereby two sub-pixels become‘on’ in the corresponding pixel in the second representation (202).

In this particular example/embodiment, the scaling is very simple sinceonly whole segments/sub-pixels need to be considered, due to the factthat three sub-pixels (one for each primary color) exist for each pixelin a sub-pixel representation. Actually, only the horizontal resolutionof the first representation needs to be three times greater than thehorizontal resolution of the second representation in order to arrive atwhole segments/sub-pixels, but both resolutions need to be three timesgreater for preserving the aspect ratio of the first representation inthe second representation, while only using whole pixels/sub-pixels in avery simple fashion.

Alternatively, the scale-down step involves criteria/sub-procedures forhandling fractions of segments, pixels, etc. for other predeterminedfactors than three. These criteria/sub-procedures may e.g. comprisescaling a 1×3 segment with two ‘on’ pixels down to a single ‘on’sub-pixel at the same location, and scaling a 1×3 segment with one pixeldown to a single ‘off’ sub-pixel in the second representation.

The sub-pixel version/the second representation of ‘S’ (202) is thenconverted into a display version (203) according to a set of criteria.In one embodiment the criteria may be:

-   -   if zero or 1 sub-pixel from a given part/pixel of the second        representation is ‘on’, then the corresponding pixel of the        display representation is set to ‘off’, and    -   if two or three sub-pixels from a given part/pixel of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to ‘on’.

In another embodiment, the criteria may be:

-   -   if zero or 1 sub-pixel from a given part/pixel of the second        representation is ‘on’, then the corresponding pixel of the        display representation is set to ‘off’,    -   if two or three adjacent sub-pixels from a given part/pixel of        the second representation are ‘on’, then the corresponding pixel        of the display representation is set to be ‘on’, and    -   if two non-adjacent sub-pixels from a given part/pixel of the        second representation are ‘on’, then the corresponding pixel of        the display representation is set to ‘off’

The only difference between the two sets of criteria is that in the lastone two non-adjacent sub-pixels would be set to ‘off’ in the displayrepresentation, while it would be set to ‘on’ according to the first setof criteria.

These criteria would give the display representation shown as (206) inFIG. 2 c with all the shown dark-grey or black pixels defining ‘S’ being‘on’/‘black’ and all the light-grey pixels as being ‘off’, i.e. no colorand/or grey-scale pixels.

In a preferred embodiment the conversion of the second representation(202) to the display representation (203) is done by filtering, etc. theenergy/light intensity for each sub-pixel in the second representation(202), resulting in an intermediate sub-pixel representation (not shown)having the same size as the second representation, before the actualconversion. This may be done by spreading/distributing the energy ofeach sub-pixel between itself and its two neighbors as follows: If agiven sub-pixel is ‘on’/black in the second representation (202), thecorresponding sub-pixel in the intermediate sub-pixel representation isturned ‘on’ to a third of the original intensity. Additionally, the twoimmediately adjacent neighbors of the given sub-pixel are also turned‘on’ to a third of the intensity, i.e. the ‘visual energy’ for a givensub-pixel is divided equally between itself and its two neighbors (eachending with a third of the total energy/intensity for the givensub-pixel). That is, if a given sub-pixel and its two horizontalneighbors are all fully ‘on’, then the given sub-pixel will be fully‘on’ (because a third of its energy is distributed to its neighbors anda third of their energy is received by the given sub-pixel from eachneighbor) and if a sub-pixel and one or two of its neighbors are ‘off’,then the resulting intensity of it will be two thirds, one third, orfully ‘off’, respectively.

Since the neighbors of a sub-pixel to the left and the right are alwaysits two complementary colors, this energy sharing/division has theeffect of instantly rebalancing any local discoloration.

Preferably, the sub-pixels are filtered once more in order to avoidblurring due to the energy filtering, i.e. first dividing the energy ofevery sub-pixel, as explained above, resulting in sub-pixels with adifferent intensity, and secondly dividing the energy of the sub-pixelswith the different intensity. This reduces the energy of the immediateneighbor sub-pixels by distributing some of the intensity/energy to thenext closest pair of neighbors, i.e. after the two filtering steps asingle sub-pixel having an intensity of 1 will have a third of theintensity, the immediate neighbor sub-pixels 2/9, and the next closestneighbor sub-pixels have 1/9 (assuming that the closest and next-closestsub-pixels have the intensity of 0 at the beginning, otherwise thisenergy will also be distributed accordingly). See e.g. FIG. 2D for aschematic representation of the double filtering process. This isnormally referred to as five-element low-pass window filtering.

In this way, an appropriate local color balance is maintained, whilekeeping most of the energy in the centre of the spread.

After performing the filtering or the double filtering, each pixel(comprising three sub-pixels) of the resulting intermediate sub-pixelrepresentation is converted to a single pixel in the displayrepresentation (203) having a color dependent on the individualintensity of the three sub-pixels, i.e. the resulting color will have aweighted intensity of the intensity of each sub-pixel. As an example, apixel in the intermediate sub-pixel representation has a relativesub-pixel intensity of (2/9; 3/9; 2/9) for the sub-pixels (R; G; B),then the resulting color pixel in the display representation (203) wouldhave the following color defined by: 2/9*Red_Max_int; 3/9*Green_Max_int;2/9*Blue_(—Max)_int, where Color_Max_int is the maximum intensity forthat specific Color. If the maximum intensities are 1, then theresulting pixel will have the color defined by 2/9 Red, 3/9 Green, and2/9 Blue (for RGB ordered sub-pixels).

The different energy/intensity of the pixels in the displayrepresentation (203) will result in a color font that will appearmonochrome on a grey-level/scale display while appearing to be highresolution in the eye of a viewer. The different colors of the pixelsshown in the display representation (203) in FIG. 2 b are represented bya raster pattern, but each pixel has a single well-defined color with awell-defined intensity. Additionally, some of the color intensities arevery light why the ‘S’ has been outlined in order to indicate wherecolor intensities appear.

Hereby, a very simple conversion of a sub-pixel representation to adisplay representation, suitable for being shown on a relativelylow-resolution display, is obtained. The display representation willespecially appear less jagged on a striped color LCD due to the use ofsub-pixels in the conversion, but will also look better on a grey-scaleLCD, a CRT, etc.

The scaling-down and conversion procedures are very simple and may beexecuted in real-time on relatively simple processors as e.g. found inPDAs, mobile communication device such as a mobile telephone,smart-phone, etc.

FIG. 2 c illustrates anti-aliasing according to the present invention.It is possible to perform grey-scale anti-aliasing at the same time asthe conversion of the second representation to the displayrepresentation in order to make a character/font appear more smooth incolor and/or grey-scale displays in a very efficient and simple manner.Shown is a sub-pixel/second representation of the character ‘S’ whichcorresponds to the representation (202) in FIG. 2 b. Also shown is agrey-scale anti-aliased display representation (204) and an alternativepreferred grey-scale anti-aliased display representation (206).

In one embodiment, the anti-aliasing is done as follows:

-   -   if one sub-pixel from a given pixel/part of the second        representation is ‘on’, then the corresponding pixel of the        display representation is set to ‘off’,    -   if two adjacent sub-pixels from a given pixel/part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to a predetermined level/shade of        ‘grey’, and    -   if three sub-pixels from a given pixel/part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to ‘on’.

In this way, the pixels designated (205) and (205′) would be grey-scaleinstead of ‘on’, thereby giving a less jagged and more smooth appearancewhen presented on a display.

Alternatively, the anti-aliasing may include criteria where neighborpixels (in the second representation) to a given pixel (includingdiagonal neighbors) are examined in order to determine whether thecorresponding pixel should be grey-scale or black. If only two or fewerof the neighbor pixels (in the second representation) are ‘on’, then theotherwise grey-scale pixel (in the display representation) will be‘on’/‘black’ instead of grey-scale.

Hereby only the pixels designated (205′) would be grey-scale, while thepixels designated (205) would be ‘on’.

In an alternative preferred embodiment, the anti-aliasing is done asfollows:

-   -   if one sub-pixel from a given pixel/part of the second        representation is ‘on’, then the corresponding pixel of the        display representation is set to a predetermined level/shade of        ‘light grey’,    -   if two sub-pixels from a given pixel/part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to a predetermined level/shade of        ‘dark grey’, and    -   if three sub-pixels from a given pixel/part of the second        representation are ‘on’, then the corresponding pixel of the        display representation is set to ‘on’.

This produces the grey-scale anti-aliased display representation (206),which would appear even smoother and less jagged to a viewer when shownon a display than the representation (204).

Alternatively, other criteria may be used.

FIG. 2 d shows a schematic representation of a distribution/doublefiltering process of the intensity/energy of a sub-pixel according to apreferred embodiment. Shown is how the original/current (e.g. relative)intensity of ‘1’ of a single sub-pixel is affected byfiltering/processing once (second row) and twice (third row) before theresult is converted into the display representation. In this example,the neighbor sub-pixels have a starting intensity of ‘0’ forsimplicity's sake. As can be seen, the original intensity for a givensub-pixel is divided between the sub-pixel itself and its immediateneighbor sub-pixels. This is done each time the filtering/processingstep is executed (which is preferably twice), and in the second step offiltering/processing (third row) the resulting intensities from thefirst filtering/processing is divided for each sub-pixel between itselfand its two neighbors.

For several sub-pixels being ‘on’, etc. the intensity of each is dividedcorrespondingly, e.g. sub-pixels having the intensity (0; 0; 1; 1; 0; 0)would yield (0; 1/3 ; 2/3; 2/3; 1/3; 0) (after firstfiltering/processing) and (1/9; 3/9; 5/9; 5/9; 3/9; 1/9) (after secondfiltering/processing).

Slightly different rules have to be formulated for sub-pixels at theborder of the second representation, e.g. the intensity is dividedbetween itself and its only neighbor or, preferably, a third is given toitself and its neighbor.

FIG. 2 e shows an enlarged version of the display representation shownin FIG. 2 b. Some of the color intensities are very light why the ‘S’has been outlined in order to indicate where color intensities (otherthan zero intensity) appear.

FIG. 3 illustrates a schematic block diagram of an embodiment of adevice according to the present invention. Shown is a device (300)according to the present invention comprising one or moremicro-processors (301) connected with a memory/storage (302) and adisplay (303) via a communications bus (304) or the like. The memory(302) has the simple monochrome first representation stored as well asfirmware, relevant software, rendering engine and/or programinstructions, etc. The micro-processor(s) (301) is(are) responsible forfetching a character/font in the first representation from thememory/storage (302) and executing the scale-down, conversion,anti-aliasing procedures described elsewhere in order to derive thedisplay representation, which is sent to be displayed at the display(303) for presentation e.g. under the control of a another/specializedprocessor directly responsible for generating the display presentationon an LCD screen or the like.

Additionally, the second aspect on the invention, as will be explainedin greater detail in connection with FIG. 5, may also be used inconnection with the device (300), thereby obtaining the advantagesmentioned elsewhere.

FIG. 4 shows a preferred embodiment of the invention, which may comprisethe device(s) and/or use the method(s) according to the presentinvention. Shown is a mobile communication device (401) having displaymeans (404), input means (405) like a keypad, touch screen, etc., anantenna (402), a microphone (406), and a speaker (403). By configuringthe device(s) and/or using the method(s) according to the presentinvention, a low-memory enhanced font/character rendering is obtained inreal-time.

Additionally, enhanced font/character rendering possible in real-timeeven on relatively simple processor types like the ones found in PDAs,mobile communication devices such as a mobile telephone, smart-phone,etc. is obtained.

Additionally, the second aspect of the invention, as explained ingreater detail in connection with FIG. 5, may also be used in connectionwith the mobile communication device (401), thereby obtaining theadvantages mentioned elsewhere.

FIG. 5 shows another aspect of the present invention. Shown are agenerating/processing system (501) and a device (502) for displayingenhanced fonts/characters. A character and/or font representation isgenerated or input at the system (501), where it is used as a basis forcomplex processing, rendering, transformation procedures that may use arelatively large amount of resources like computation power, time,memory required, etc., resulting in a suitable color displayrepresentation. Once the relevant procedures are executed and theresulting display representation is generated, it is transmitted, loadedinto, stored, etc. in a device (502) for later use. When the device(502) needs to use the display representation, it is simply retrievedand displayed on the display of the device.

In this way, advanced and/or complex rendering/transformation proceduresmay be applied once and for all in a single device/system (501), and theresulting character representation may then be distributed to manydisplay devices (502), so that these devices do not have to apply therendering procedures at the actual time of rendering. Since the advancedand/or complex rendering procedures take place outside the displaydevice that actually displays the character(s)/font(s), they may consumeany amount of resources including time, memory and/or processing power.

Additionally, the need for implementing sub-pixel procedures as part ofthe rendering engine/stage in the device (502) when displayinginformation on a screen/display is avoided, thereby making the renderingstage/engine simpler and avoiding the use of resources in the form ofmemory and processing power.

Further, the result of complex rendering and/or sub-pixel procedures ina simple rendering engine/stage run on a relatively simple processorwith a relatively small amount of available memory is enabled. Oneexample of rendering and/or sub-pixel procedures, that may be appliedonce resulting in a bitmap being stored in a device for later directretrieval each time it is to be used, is the simple method andembodiments thereof explained in connection with FIGS. 1-4 although anyprocedure, e.g. with great complexity, may be implemented in this way.

1. A method of providing enhanced characters better suited for beingdisplayed on substantially low-resolution displays, the methodcomprising the steps of: scaling-down a first representation of at leastone character belonging to a given font according to a predeterminedfactor, resulting in a second representation of the at least onecharacter, wherein the first representation is a monochrome pixelrepresentation and the second representation is a sub-pixelrepresentation; and converting the second representation to a colordisplay representation according to a set of predetermined criteria. 2.The method according to claim 1, wherein at least one of: the firstrepresentation comprises a number of monochrome pixels defining the atleast one character; the second representation comprises a number ofparts each comprising a number of associated sub-pixels; and the displayrepresentation comprises a number of pixels wherein each pixelcorresponds to a part of the second representation.
 3. The methodaccording to claim 1, wherein the first representation is substantiallycomprised of 3×3 pixel blocks wherein either none, 1×3, 2×3 or 3×3pixels is “on”.
 4. The method according to claim 1, wherein the step ofconverting comprises: processing of the second representation resultingin an intermediate sub-pixel representation given by: for a number ofsub-pixels in the second representation, if a given sub-pixel is “on”,then the intensity of the given sub-pixel is allocated a third of itscurrent intensity and the immediately adjacent neighbors of the givensub-pixel in the horizontal direction is each also allocated a third ofthe current intensity of the given sub-pixel in the intermediatesub-pixel representation; and converting at least a part of theintermediate sub-pixel representation, the part comprising threeassociated sub-pixels each representing a different color, to aresulting pixel in the display representation, wherein the color of theresulting pixel is a weight of the intensities for each associatedsub-pixel and the color that each sub-pixel represents.
 5. The methodaccording to claim 4, wherein the step of converting comprises:performing the step of processing twice using the output of the stepperformed first as input for the step performed next resulting in anintermediate sub-pixel representation which is used in the step ofconverting.
 6. The method according to claim 1, wherein in the set ofpredetermined criteria comprises one of: if zero or 1 sub-pixel from agiven part of the second representation is “on”, then the correspondingpixel of the display representation is set to “off”, and if two or threesub-pixels from a given part of the second representation are “on”, thenthe corresponding pixel of the display representation is set to “on”;and if zero or 1 sub-pixel from a given part of the secondrepresentation is “on”, then the corresponding pixel of the displayrepresentation is set to “off”, if two or three adjacent sub-pixels froma given part of the second representation are “on”, then thecorresponding pixel of the display representation is set to be “on”, andif two non-adjacent sub-pixels from a given part of the secondrepresentation are “on”, then the corresponding pixel of the displayrepresentation is set to “off”.
 7. The method according to claim 1,wherein the step of converting comprises greyscale anti-aliasing.
 8. Themethod according to claim 7, wherein the anti-aliasing comprises one of:if one sub-pixel from a given part of the second representation is “on”,then the corresponding pixel of the display representation is set to“off”, if two adjacent sub-pixels from a given part of the secondrepresentation are “on”, then the corresponding pixel of the displayrepresentation is set to a predetermined level/shade of “grey”, and ifthree sub-pixels from a given part of the second representation are“on”, then the corresponding pixel of the display representation is setto “on”; and if one sub-pixel from a given pixel/part of the secondrepresentation is “on”, then the corresponding pixel of the displayrepresentation is set to a predetermined level/shade of “light gray”, iftwo sub-pixels from a given pixel/part of the second representation are“on”, then the corresponding pixel of the display representation is setto a predetermined level/shade of “darkgrey”, and if three sub-pixelsfrom a given pixel/part of the second representation are “on”, then thecorresponding pixel of the display representation is set to “on”.
 9. Themethod according to claim 1, comprising: displaying the displayrepresentation on an LCD display.
 10. The method according to claim 1,wherein the method is used in a mobile communication device.
 11. Themethod according to claim 1, comprising: retrieving a displayrepresentation of at least one character belonging to a given font froma memory of a portable device having a display, the displayrepresentation comprising a number of pixels defining the at least onecharacter wherein each pixel comprises color information; and displayingthe character representation on the display; wherein the characterrepresentation is a pre-generated color display representation stored inthe memory of the portable device and processed by another deviceaccording to the method of claim
 1. 12. A device for providing enhancedcharacters better suited for being displayed on substantiallylow-resolution displays, the device comprising: means for scaling-down afirst representation of at least one character belonging to a given fontaccording to a predetermined factor, resulting in a secondrepresentation of the at least one character, wherein the firstrepresentation is a monochrome pixel representation and the secondrepresentation is a sub-pixel representation; and means for convertingthe second representation to a color display representation according toa set of predetermined criteria.
 13. The device according to claim 12,wherein at least one of: the first representation comprises a number ofmonochrome pixels defining the at least one character; the secondrepresentation comprises a number of parts each comprising a number ofassociated sub-pixels; and the display representation comprises a numberof pixels wherein each pixel corresponds to a part of the secondrepresentation.
 14. A device according to claim 12, wherein the firstrepresentation is substantially comprised of 3×3 pixel blocks whereineither none, 1×3, 2×3 or 3×3 pixels is “on”/“black”
 15. The deviceaccording to claim 12, wherein the means for converting is configuredto: process the second representation resulting in an intermediatesub-pixel representation given by: for a number of sub-pixels in thesecond representation, if a given sub-pixel is “on”, then the intensityof the given sub-pixel is allocated a third of its current intensity andthe immediately adjacent neighbors of the given sub-pixel in thehorizontal direction is each also allocated a third of the currentintensity of the given sub-pixel in the intermediate sub-pixelrepresentation; and convert at least a part of the intermediatesub-pixel representation, the part comprising three associatedsub-pixels each representing a different color, to a resulting pixel inthe display representation, wherein the color of the resulting pixel isa weight of the intensities for each associated sub-pixel and the colorthat each sub-pixel represents.
 16. The device according to claim 15,wherein the means for converting is configured to process the secondrepresentation twice using the output of the first processing as inputfor the next processing resulting in an intermediate sub-pixelrepresentation which is used in the step of converting.
 17. The deviceaccording to claim 12, wherein the set of predetermined criteriacomprises one of: if zero or 1 sub-pixel from a given part of the secondrepresentation is “on”, then the corresponding pixel of the displayrepresentation is set to “off”, and if two or three sub-pixels from agiven part of the second representation are “on”, then the correspondingpixel of the display representation is set to “on”; and or if zero or 1sub-pixel from a given part of the second representation is “on”, thenthe corresponding pixel of the display representation is set to “off”,if two or three adjacent sub-pixels from a given part of the secondrepresentation are “on”, then the corresponding pixel of the displayrepresentation is set to be “on”, and if two non-adjacent sub-pixelsfrom a given part of the second representation are “on”, then thecorresponding pixel of the display representation is set to “off”. 18.The device according to claim 12, wherein the means for convertingcomprises means for applying grey-scale anti-aliasing.
 19. The deviceaccording to claim 18, wherein the means for applying anti-aliasing isconfigured to perform one of: if one sub-pixel from a given part of thesecond representation is “on”, then the corresponding pixel of thedisplay representation is set to “off”, if two adjacent sub-pixels froma given part of the second representation are “on”, then thecorresponding pixel of the display representation is set to apredetermined level/shade of “grey”, and if three sub-pixels from agiven part of the second representation are “on”, then the correspondingpixel of the display representation is set to “on”; and if one sub-pixelfrom a given pixel/part of the 20 second representation is “on”, thenthe corresponding pixel of the display representation is set to apredetermined level/shade of “light grey”, if two sub-pixels from agiven pixel/part of the second representation are “on”, then thecorresponding pixel of the display representation is set to apredetermined level/shade of “dark grey”, and if three sub-pixels from agiven pixel/part of the second representation are “on”, then thecorresponding pixel of the display representation is set to “on”
 20. Thedevice according to claim 12, comprising an LCD display for displayingthe display representation.
 21. The device according to claim 12,wherein the device is a mobile communication device.
 22. The deviceaccording to claim 12, comprising: means for retrieving a displayrepresentation of at least one character belonging to a given font froma memory of a portable device having a display, the displayrepresentation comprising a number of pixels defining the at least onecharacter wherein each pixel comprises color information; and means fordisplaying the character representation on the display; wherein thecharacter representation is a pre-generated color display representationstored in the memory of the portable device and processed by anotherdevice according to claim
 12. 23. A method of displaying enhancedcharacters in a portable device having a memory and a display, themethod comprising the steps of: retrieving a character bitmaprepresentation of at least one character belonging to a given font fromthe memory, the character representation having a number of pixelsdefining the at least one character wherein each pixel comprises colorinformation; and displaying the character representation on the display;wherein the character representation is a pre-generated colorrepresentation stored in the memory of the device and processed byanother device.
 24. The method according to claim 23, wherein thecharacter representation is a sub-pixel color representation.
 25. Themethod according to claim 23, wherein the character representationcomprises anti-aliasing information.
 26. A portable device fordisplaying enhanced characters, the device comprising: memory; adisplay; means for retrieving a character bitmap representation of atleast one character belonging to a given font from the memory, thecharacter representation having a number of pixels defining the at leastone character wherein each pixel comprises color information; and meansfor displaying the character representation on the display, wherein thecharacter representation is a pre-generated color representation storedin the memory of the device and processed by another device.
 27. Thedevice according to claim 26, wherein the character representation is asub-pixel color representation.
 28. The device according to claim 26,wherein the character representation comprises anti-aliasinginformation.